package com.witmore.neutron.ai.web.service;

import com.jk.common.response.ResponseResult;
import com.witmore.neutron.ai.db.entity.AgentDO;
import com.witmore.neutron.ai.db.entity.ModelConfigDO;
import com.witmore.neutron.ai.web.controller.vo.*;

import java.util.List;

/**
 * Description: RobotService
 * Author: 豆子高
 * Date: 2025/5/19 17:13
 */
public interface RobotService {
    /**
     * 创建机器人
     */
    ResponseResult<Void> createRobot(AgentCreateParam param);

    List<AgentResult> list( RobotQueryParam robotQueryParam);

    AgentDO getAgentById(Long id);

    AgentDO getAgentByCode(String agentCode);

    ResponseResult<List<ModelConfigDO>> getModels();

    ResponseResult<Void> update(RobotUpdateParam param);

    ResponseResult<Void> updatePublishStatus(AgentPublishConfigParam param);

    ResponseResult<Void> deleteRobot(Integer agentId);


    ResponseResult<Void> lock(Integer agentId);

    ResponseResult<Void> unlock(Integer agentId);

    ResponseResult<Void> updateName(RobotUpdateParam param);

    ResponseResult<Void> copy(Integer agentId);

    // TODO 可与updatePublishStatus合并
    ResponseResult<Void> updateAgentShowTitle(AgentPublishConfigParam param);
}
